package cn.edu.fzu.homemaking.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.edu.fzu.homemaking.domain.entity.SysCusUser;
import cn.edu.fzu.homemaking.domain.entity.SysUser;
import cn.edu.fzu.homemaking.domain.entity.SysUserSso;
import cn.edu.fzu.homemaking.domain.enums.SexEnum;
import cn.edu.fzu.homemaking.domain.enums.StatusEnum;

public interface SyssUserMapper {

    SysUser getSysUserByEmail(@Param("email") String email);


    SysUser getCustomerByEmail(@Param("email") String email);


    List<SysUser> listAllFace(@Param("fromId") long from, @Param("limit") int limit);


    /** 更新user表 **/
    void updateUser(@Param("email") String email, @Param("password") String password, @Param("phone") String phone,
                    @Param("address") String address, @Param("faceUrl") String faceUrl,
                    @Param("status") StatusEnum status);


    /** 向 user 表中插入数据 **/
    void insertUser(@Param("user") SysUserSso user);


    /** 向sys_user表中插入数据 **/
    void insertSysUser(@Param("userId") Long userId);


    List<SysUser> listSysUser(@Param("email") String email, @Param("name") String name, @Param("sex") SexEnum sex,
                              @Param("phone") String phone, @Param("status") StatusEnum status);


    /** 更新company_user表 **/
    void updateCompanyUser(@Param("userId") Long userId, @Param("labelId") Long labelId);


    /** 批量获取顾客信息 **/
    List<SysCusUser> listCustomer(@Param("email") String email, @Param("name") String name, @Param("sex") SexEnum sex,
                                @Param("phone") String phone, @Param("status") StatusEnum status);


    /** 向cus_user表中插入数据 **/
    void insertCustomer(@Param("userId") Long userId);

}
